请以最新代码版本为准,保持同步更新,获取最新功能与修复。PIG AI 提供主流算法与工具,帮助用户快速搭建 RAG 解决方案,简化开发流程,但具体效果仍需用户自行探索与优化。RAG 文本输出效果因场景和数据不同,无法统一评判最佳模型和参数配置,需根据实际需求不断调优,因地制宜灵活调整。RAG 优化是一个长期工程,需持续实验、反馈和改进。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索(Retrieval)和文本生成(Generation)的人工智能技术。它的核心思想是在生成式 AI(如大语言模型)生成文本之前,先从一个外部知识库中检索相关信息,并将这些信息作为上下文输入给模型,以提高回答的准确性和相关性。
所以简单来讲, RAG 不会修改模型自身任何东西还是调用通用大模型,只是通过外挂外部模型,也没有微调的东西
🔹 开源 ≠ 原厂效果:模型虽然开源,但部署优化的细节只有原厂最清楚,包括推理加速、KV 缓存优化、量化策略等,影响性能和输出质量。
🔹 底层优化:原厂 API 可能采用专有推理引擎、硬件优化(如 A100/H100 TensorRT 加速),甚至有 LoRA 微调,而本地部署缺少这些关键优化。
🔹 多模态增强 & 预处理:云端 API 可能会对输入进行特殊预处理,比如动态裁剪、格式调整等,使得相同输入在本地运行时效果不如预期。
DeepSeek R1 很火,但真的适合 RAG 业务吗?
🔹 响应时间长,用户体验差
DeepSeek R1 在推理阶段的计算复杂度较高,导致推理时间 + 响应时间过长,直接影响用户体验。在 RAG 业务中,快速检索并生成准确回答至关重要,而长时间的等待会降低系统可用性。
🔹 问题发散度高,不利于 RAG 任务
DeepSeek R1 理解能力强,但发散性高,意味着它在处理问题时可能会自行推理和扩展,甚至与检索结果无关。而 RAG 的核心目标是让大模型基于检索到的正确答案进行总结,过度发散反而影响回答的精准度。
🔹 推荐 Qwen-Max 系列作为 RAG 主模型
Qwen-Max 系列在 RAG 任务中的指令遵循率更高,即用户给出的内容就是生成的主要依据,不会过度"发挥"或自行推理。对于严格依赖事实的应用场景(如法律、医疗、企业知识库),这类模型能更精准地遵循检索结果,提供高质量的回答。
在大语言模型(LLM)中,模型参数集(Parameter Set)指的是模型在训练过程中学习到的权重和偏置(Weights & Biases),这些参数决定了模型如何处理输入并生成输出。可以简单理解为:
📌 参数 = 模型的"知识"
📌 参数越多,模型的表达能力越强
所以不要祈求 ollama 运行一个 7b 14b 的小模型能有太好的推理效果,大模型也遵循基本的社会规则一分钱一分货
vLLM 相比 Ollama 更适合私有化部署,其核心优势在于更高效的资源利用,适用于高并发和大规模推理场景。然而,vLLM 的上手成本相对较高,需要更深入的环境配置和优化,而 Ollama 则更适合快速上手和本地轻量级推理。
| 模型类型 | 模型名称 | 说明 |
|---|---|---|
| 聊天模型 | qwen2.5:72b | 72b 参数量聊天模型,更准确但需要更多资源 |
| 推理模型 | deepseek-r1:32b | R1 推理模型 |
| 向量模型 | bge-m3:latest | 中文没得选,也就它了 |
| 视觉模型 | qwen2.5vl:32b |
注意运行 70b 模型为生产级模型,需要 GPU 80G+ 的显存,无法在普通 CPU 条件推理,模型推理速度(可以理解为提问响应速度)取决于硬件配置。
PIG AI 正在测试 QwQ 32b,欢迎大家反馈
要不断调整如下参数进行策略,RAG 生成的文本效果,文无第一武无第二
在入门阶段,我们通常使用 docker run qdrant 作为向量库的快速上手方案。但如果你需要更强大的功能,推荐使用 Milvus,虽然它需要更多资源,但功能更强大。可以直接参考官方文档,运行 Milvus 的单机版本:Milvus 单机部署指南。
Milvus 的优势:支持向量检索 + 全文检索的混合检索,即先进行向量搜索,再结合全文搜索优化结果,提高搜索的准确性和相关性。
部署 Milvus 2.5+ 服务时,强烈建议仔细阅读 Milvus 官方文档,确保硬件配置符合要求。
用户的提问会与向量库中的数据进行 余弦相似度(cosine similarity) 计算,并返回匹配度最高的结果。只有相似度超过设定阈值的内容才会被保留。
相似度阈值设置建议
当相似度满足设定阈值后,可能会返回多条匹配结果。此时需要设置返回的条数,以确保检索的精准性和可读性。条数设置建议
合理控制返回结果的数量,有助于提升大模型的推理质量,减少干扰信息。
切片数值指的是文档分割后每个片段的大小,因为大模型无法一次性处理过长的文本。
但并不是切片越大,准确率就越高。建议将切片大小控制在 500-2000 之间,并进行调整测试。例如,如果文档中包含大量相似概念的名称,切片过大可能会导致模型推理错误增加。
调整切片大小的建议:
切片后,文档可能会丢失上下文。为提升效果,可以在切片前先生成整篇文档的摘要,并将其附加到每个切片中,以提供全局背景信息。
但需要注意:如果文档内容相似度较高,不建议启用总结,因为相似度查询可能返回多条相近结果,反而容易导致模型产生幻觉。
PIG AI 在设计时充分考虑了各类模型的兼容性,默认采用英文提示词以确保通用性。针对国内部分模型,建议根据实际情况对提示词进行适当微调,以进一步提升效果。
开启此开关后,系统会对文档进行整体总结,并将该总结嵌入每个切片,帮助大模型更准确地理解内容。请根据实际情况决定是否开启。例如,如果文档类型较为统一(如企业规章制度),则无需启用,否则可能导致搜索结果过多,反而影响准确性。
所有逻辑代码均在 Q2AVectorRagChatHandler
-【模型管理】维护 jina 解析模型
